.markdown-body {

  .pl-c, .pl-c span {
    color: #75715e;
    font-style: italic;
  } /* comment */
  .pl-c1 {
    color: #ae81ff;
  } /* constant */
  .pl-cce {
    color: #66d9ef;
  } /* constant.character.escape */
  .pl-cn {
    color: #66d9ef;
  } /* constant.numeric */
  .pl-coc {
    color: #66d9ef;
  } /* constant.other.color */
  .pl-cos {
    color: #e6db74;
  } /* constant.other.symbol */
  .pl-e {
    color: #a6e22e;
  } /* entity */
  .pl-ef {
    color: #a6e22e;
  } /* entity.function */
  .pl-en {
    color: #a6e22e;
  } /* entity.name */
  .pl-enc {
    color: #66d9ef;
  } /* entity.name.class */
  .pl-enf {
    color: #a6e22e;
  } /* entity.name.function */
  .pl-enm {
    color: #a6e22e;
  } /* entity.name.method-name */
  .pl-ens {
    color: #66d9ef;
  } /* entity.name.section */
  .pl-ent {
    color: #f92672;
  } /* entity.name.tag */
  .pl-entc {
    color: #a6e22e;
  } /* entity.name.type.class */
  .pl-enti {
    color: #a6e22e;
    font-weight: bold;
  } /* entity.name.type.instance */
  .pl-entm {
    color: #a6e22e;
  } /* entity.name.type.module */
  .pl-eoa {
    color: #f92672;
  } /* entity.other.attribute-name */
  .pl-eoac {
    color: #a6e22e;
  } /* entity.other.attribute-name.class */
  .pl-eoac .pl-pde {
    color: #a6e22e;
  } /* punctuation.definition.entity */
  .pl-eoai {
    color: #f92672;
  } /* entity.other.attribute-name.id */
  .pl-eoai .pl-pde {
    color: #f92672;
  } /* punctuation.definition.entity */
  .pl-eoi {
    color: #a6e22e;
  } /* entity.other.inherited-class */
  .pl-k {
    color: #f92672;
  } /* keyword */
  .pl-ko {
    color: #f92672;
  } /* keyword.operator */
  .pl-kolp {
    color: #f92672;
  } /* keyword.operator.logical.python */
  .pl-kos {
    color: #66d9ef;
  } /* keyword.other.special-method */
  .pl-kou {
    color: #66d9ef;
  } /* keyword.other.unit */
  .pl-mai .pl-sf {
    color: #a6e22e;
  } /* support.function */
  .pl-mb {
    color: #e6db74;
    font-weight: bold;
  } /* markup.bold */
  .pl-mc {
    color: #f92672;
  } /* markup.changed */
  .pl-mh .pl-pdh {
    color: #66d9ef;
  } /* markup.heading punctuation.definition.heading */
  .pl-mi {
    color: #f92672;
    font-style: italic;
  } /* markup.italic */
  .pl-ml {
    color: #e6db74;
  } /* markup.list */
  .pl-mm {
    color: #a6e22e;
  } /* meta.module-reference */
  .pl-mp {
    color: #66d9ef;
  } /* meta.property-name */
  .pl-mp1 .pl-sf {
    color: #66d9ef;
  } /* meta.property-value support.function */
  .pl-mq {
    color: #66d9ef;
  } /* markup.quote */
  .pl-mr {
    color: #f92672;
  } /* meta.require */
  .pl-ms {
    color: #f92672;
  } /* meta.selector */
  .pl-pdb {
    color: #e6db74;
    font-weight: bold;
  } /* punctuation.definition.bold */
  .pl-pdc {
    color: #75715e;
    font-style: italic;
  } /* punctuation.definition.comment */
  .pl-pdc1 {
    color: #ae81ff;
  } /* punctuation.definition.constant */
  .pl-pde {
    color: #66d9ef;
  } /* punctuation.definition.entity */
  .pl-pdi {
    color: #f92672;
    font-style: italic;
  } /* punctuation.definition.italic */
  .pl-pds {
    color: #e6db74;
  } /* punctuation.definition.string */
  .pl-pdv {
    color: #a6e22e;
  } /* punctuation.definition.variable */
  .pl-pse {
    color: #66d9ef;
  } /* punctuation.section.embedded */
  .pl-pse .pl-s2 {
    color: #66d9ef;
  } /* punctuation.section.embedded source */
  .pl-s {
    color: #e6db74;
  } /* storage */
  .pl-s1 {
    color: #e6db74;
  } /* string */
  .pl-s2 {
    color: #f8f8f2;
  } /* source */
  .pl-mp .pl-s3 {
    color: #66d9ef;
  } /* support */
  .pl-s3 {
    color: #f92672;
  } /* support */
  .pl-sc {
    color: #fd971f;
  } /* support.class */
  .pl-scp {
    color: #ae81ff;
  } /* support.constant.property-value */
  .pl-sf {
    color: #fd971f;
  } /* support.function */
  .pl-smc {
    color: #f92672;
  } /* storage.modifier.c */
  .pl-smi {
    color: #66d9ef;
  } /* storage.modifier.import */
  .pl-smp {
    color: #f92672;
  } /* storage.modifier.package */
  .pl-sok {
    color: #f92672;
  } /* support.other.keyword */
  .pl-sol {
    color: #e6db74;
  } /* string.other.link */
  .pl-som {
    color: #a6e22e;
  } /* support.other.module */
  .pl-sr {
    color: #a6e22e;
  } /* string.regexp */
  .pl-sra {
    color: #f92672;
  } /* string.regexp string.regexp.arbitrary-repetition */
  .pl-src {
    color: #f92672;
  } /* string.regexp.character-class */
  .pl-sre {
    color: #f92672;
  } /* string.regexp source.ruby.embedded */
  .pl-st {
    color: #66d9ef;
  } /* support.type */
  .pl-stj {
    color: #f8f8f2;
  } /* storage.type.java */
  .pl-stp {
    color: #66d9ef;
  } /* support.type.property-name */
  .pl-sv {
    color: #66d9ef;
  } /* support.variable */
  .pl-v {
    color: #66d9ef;
  } /* variable */
  .pl-vi {
    color: #66d9ef;
  } /* variable.interpolation */
  .pl-vo {
    color: #a6e22e;
  } /* variable.other */
  .pl-vpf {
    color: #66d9ef;
  } /* variable.parameter.function */
  /* diff - example: https://gist.github.com/silverwind/904159f1e71e2e626375 */
  .pl-mi1 {
    color: #a6e22e;
    background: rgba(0,64,0,.5);
  } /* markup.inserted */
  .pl-mdht {
    color: #a6e22e;
    background: rgba(0,64,0,.5);
  } /* meta.diff.header.to-file */
  .pl-md {
    color: #f92672;
    background: rgba(64,0,0,.5);
  } /* markup.deleted */
  .pl-mdhf {
    color: #f92672;
    background: rgba(64,0,0,.5);
  } /* meta.diff.header.from-file */
  .pl-mdr {
    color: #66d9ef;
    font-weight: normal;
  } /* meta.diff.range */
  .pl-mdh {
    color: #a6e22e;
    font-weight: normal;
  } /* meta.diff.header */
  .pl-mdi {
    color: #a6e22e;
    font-weight: normal;
  } /* meta.diff.index */
  /* todo: fix unstyled classes below */
  .pl-ii .pl-cce, /* invalid.illegal */
  .pl-bu, /* invalid.broken, invalid.deprecated, invalid.unimplemented, message.error, brackethighlighter.unmatched, sublimelinter.mark.error */
  .pl-ii {
    background-color: #a6e22e;
    color: #272822;
  } /* invalid.illegal */
  .pl-mo {
    color: #fd971f;
  } /* meta.output */
  .pl-mri {
    color: #66d9ef;
  } /* markup.raw.inline */
  .pl-ms1 {
    background-color: #fd971f;
  } /* meta.separator */
  .pl-va {
    color: #66d9ef;
  } /* variable.assignment */
  .pl-vpu {
    color: #66d9ef;
  } /* variable.parameter.url */
  .pl-entl {
    color: #fd971f;
  } /* entity.name.tag.label */
  .pl-corl, .highlight .pl-corl span.x {
    color: #e6db74;
    text-decoration: underline;
  } /* links */
  .pl-token.active, .pl-token:hover {
    background: #a6e22e;
    color: #272822;
  }

  .octicon {
    display: inline-block;
    vertical-align: text-top;
    fill: currentColor;
  }

  a {
    background-color: transparent;
    -webkit-text-decoration-skip: objects;
  }

  a:active,
  a:hover {
    outline-width: 0;
  }

  strong {
    font-weight: inherit;
  }

  strong {
    font-weight: bolder;
  }

  h1 {
    font-size: 2em;
    margin: 0.67em 0;
  }

  img {
    border-style: none;
  }

  svg:not(:root) {
    overflow: hidden;
  }

  code,
  kbd {
    font-family: monospace, monospace;
    font-size: 1em;
  }

  hr {
    box-sizing: content-box;
    height: 0;
    overflow: visible;
  }

  input {
    font: inherit;
    margin: 0;
  }

  input {
    overflow: visible;
  }

  [type="checkbox"] {
    box-sizing: border-box;
    padding: 0;
  }

  * {
    box-sizing: border-box;
  }

  input {
    font-family: inherit;
    font-size: inherit;
    line-height: inherit;
  }

  a {
    color: #0366d6;
    text-decoration: none;
  }

  a:hover {
    text-decoration: underline;
  }

  strong {
    font-weight: 600;
  }

  hr {
    height: 0;
    margin: 15px 0;
    overflow: hidden;
    background: transparent;
    border: 0;
    border-bottom: 1px solid #dfe2e5;
  }

  hr::before {
    display: table;
    content: "";
  }

  hr::after {
    display: table;
    clear: both;
    content: "";
  }

  table {
    border-spacing: 0;
    border-collapse: collapse;
  }

  h1,
  h2,
  h3,
  h4,
  h5,
  h6 {
    margin-top: 0;
    margin-bottom: 0;
  }

  h1 {
    font-size: 32px;
    font-weight: 600;
  }

  h2 {
    font-size: 24px;
    font-weight: 600;
  }

  h3 {
    font-size: 20px;
    font-weight: 600;
  }

  h4 {
    font-size: 16px;
    font-weight: 600;
  }

  h5 {
    font-size: 14px;
    font-weight: 600;
  }

  h6 {
    font-size: 12px;
    font-weight: 600;
  }

  p, img {
    margin-top: 0;
    margin-bottom: 10px;
  }

  blockquote {
    margin: 0;
  }

  ul,
  ol {
    padding-left: 0;
    margin-top: 0;
    margin-bottom: 0;
  }

  ol ol,
  ul ol {
    list-style-type: lower-roman;
  }

  ul ul ol,
  ul ol ol,
  ol ul ol,
  ol ol ol {
    list-style-type: lower-alpha;
  }

  dd {
    margin-left: 0;
  }

  .octicon {
    vertical-align: text-bottom;
  }

  .pl-0 {
    padding-left: 0 !important;
  }

  .pl-1 {
    padding-left: 4px !important;
  }

  .pl-2 {
    padding-left: 8px !important;
  }

  .pl-3 {
    padding-left: 16px !important;
  }

  .pl-4 {
    padding-left: 24px !important;
  }

  .pl-5 {
    padding-left: 32px !important;
  }

  .pl-6 {
    padding-left: 40px !important;
  }

  .markdown-body::before {
    display: table;
    content: "";
  }

  .markdown-body::after {
    display: table;
    clear: both;
    content: "";
  }

  .markdown-body>*:first-child {
    margin-top: 0 !important;
  }

  .markdown-body>*:last-child {
    margin-bottom: 0 !important;
  }

  a:not([href]) {
    color: inherit;
    text-decoration: none;
  }

  .anchor {
    float: left;
    padding-right: 4px;
    margin-left: -20px;
    line-height: 1;
  }

  .anchor:focus {
    outline: none;
  }

  p,
  blockquote,
  ul,
  ol,
  dl,
  table,
  pre {
    margin-top: 0;
    margin-bottom: 16px;
  }

  hr {
    height: 0.25em;
    padding: 0;
    margin: 24px 0;
    background-color: #e1e4e8;
    border: 0;
  }

  blockquote {
    padding: 0 1em;
    color: #6a737d;
    border-left: 0.25em solid #dfe2e5;
  }

  blockquote>:first-child {
    margin-top: 0;
  }

  blockquote>:last-child {
    margin-bottom: 0;
  }

  kbd {
    display: inline-block;
    padding: 3px 5px;
    font-size: 11px;
    line-height: 10px;
    color: #444d56;
    vertical-align: middle;
    background-color: #fafbfc;
    border: solid 1px #c6cbd1;
    border-bottom-color: #959da5;
    border-radius: 3px;
    box-shadow: inset 0 -1px 0 #959da5;
  }

  h1,
  h2,
  h3,
  h4,
  h5,
  h6 {
    margin-top: 24px;
    margin-bottom: 16px;
    font-weight: 600;
    line-height: 1.25;
  }

  h1 .octicon-link,
  h2 .octicon-link,
  h3 .octicon-link,
  h4 .octicon-link,
  h5 .octicon-link,
  h6 .octicon-link {
    color: #1b1f23;
    vertical-align: middle;
    visibility: hidden;
  }

  h1:hover .anchor,
  h2:hover .anchor,
  h3:hover .anchor,
  h4:hover .anchor,
  h5:hover .anchor,
  h6:hover .anchor {
    text-decoration: none;
  }

  h1:hover .anchor .octicon-link,
  h2:hover .anchor .octicon-link,
  h3:hover .anchor .octicon-link,
  h4:hover .anchor .octicon-link,
  h5:hover .anchor .octicon-link,
  h6:hover .anchor .octicon-link {
    visibility: visible;
  }

  h1 {
    padding-bottom: 0.3em;
    font-size: 2em;
    border-bottom: 1px solid #eaecef;
  }

  h2 {
    padding-bottom: 0.3em;
    font-size: 1.5em;
    border-bottom: 1px solid #eaecef;
  }

  h3 {
    font-size: 1.25em;
  }

  h4 {
    font-size: 1em;
  }

  h5 {
    font-size: 0.875em;
  }

  h6 {
    font-size: 0.85em;
    color: #6a737d;
  }

  ul,
  ol {
    padding-left: 2em;
  }

  ul ul,
  ul ol,
  ol ol,
  ol ul {
    margin-top: 0;
    margin-bottom: 0;
  }

  li>p {
    margin-top: 16px;
  }

  li+li {
    margin-top: 0.25em;
  }

  dl {
    padding: 0;
  }

  dl dt {
    padding: 0;
    margin-top: 16px;
    font-size: 1em;
    font-style: italic;
    font-weight: 600;
  }

  dl dd {
    padding: 0 16px;
    margin-bottom: 16px;
  }

  table {
    width: 100%;
  }

  table th {
    font-weight: 600;
  }

  table th,
  table td {
    padding: 6px 13px;
    border: 1px solid #dfe2e5;
  }

  table tr {
    border-top: 1px solid #c6cbd1;
  }

  table tr:nth-child(2n) {
    background-color: #f6f8fa;
  }

  img {
    max-width: 100%;
    box-sizing: content-box;
    background-color: #fff;
  }

  img[align=right] {
    padding-left: 20px;
  }

  img[align=left] {
    padding-right: 20px;
  }

  code,
  pre {
    font-family: Consolas, Menlo, Monaco, Courier, monospace;
  }

  pre {
    margin-top: 0;
    margin-bottom: 0;
    padding: 10px;
    font-size: 14px;
    line-height: 1.4;
    word-wrap: normal;
    background-color: #f6f8fa;
    border-radius: 3px;
  }

  code {
    padding: 0;
    padding-top: 0.2em;
    padding-bottom: 0.2em;
    margin: 0;
    font-size: 85%;
    background-color: rgba(27,31,35,0.05);
    border-radius: 3px;
  }

  code::before,
  code::after {
    letter-spacing: -0.2em;
    content: "\00a0";
  }

  pre>code {
    padding: 0;
    margin: 0;
    font-size: 100%;
    word-break: normal;
    white-space: pre;
    background: transparent;
    border: 0;
  }

  pre code {
    display: inline;
    max-width: auto;
    padding: 0;
    margin: 0;
    overflow: visible;
    line-height: inherit;
    word-wrap: normal;
    background-color: transparent;
    border: 0;
  }

  pre code::before,
  pre code::after {
    content: normal;
  }

  .full-commit .btn-outline:not(:disabled):hover {
    color: #005cc5;
    border-color: #005cc5;
  }

  kbd {
    display: inline-block;
    padding: 3px 5px;
    font: 11px Consolas, Monaco, monospace;
    line-height: 10px;
    color: #444d56;
    vertical-align: middle;
    background-color: #fafbfc;
    border: solid 1px #d1d5da;
    border-bottom-color: #c6cbd1;
    border-radius: 3px;
    box-shadow: inset 0 -1px 0 #c6cbd1;
  }

  :checked+.radio-label {
    position: relative;
    z-index: 1;
    border-color: #0366d6;
  }

  .task-list-item {
    list-style-type: none;
  }

  .task-list-item+.task-list-item {
    margin-top: 3px;
  }

  .task-list-item input {
    margin: 0 0.2em 0.25em -1.6em;
    vertical-align: middle;
  }

  hr {
    border-bottom-color: #eee;
  }
}

@media (prefers-color-scheme: dark) {
  .markdown-body {
    a {
      color: #70b3ff;
    }

    h1, h2, hr {
      border-bottom-color: #484848;
    }

    blockquote {
      background-color: #313338;
      border-left-color: #686b6f;
    }

    table {
      tr, th, td {
        border-color: #3f4248;
      }
      tr:nth-child(2n) {
        background-color: #303238;
      }
    }

    img, pre, code {
      background-color: #3f4248;
    }
  }
}
